package com.cinc.ebc.fi.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 应付初始化
 * @Author: jeecg-boot
 * @Date:   2022-12-07
 * @Version: V1.0
 */
@Data
@TableName("fi_ap_original_amount")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="fi_ap_original_amount对象", description="应付初始化")
public class FiApOriginalAmount implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
    /**单据编号*/
    @Excel(name = "单据编号", width = 15)
    @ApiModelProperty(value = "单据编号")
    private java.lang.String code;
	/**供应商*/
	@Excel(name = "供应商", width = 15, dictTable = "mdm_supply", dicText = "supply_full_name", dicCode = "id")
	@Dict(dictTable = "mdm_supply", dicText = "supply_full_name", dicCode = "id")
    @ApiModelProperty(value = "供应商")
    private java.lang.String supplyId;
	/**业务员*/
	@Excel(name = "业务员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "业务员")
    private java.lang.String buyer;
    /**部门*/
    @Excel(name = "部门",width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    @ApiModelProperty(value = "部门")
    private String dept;
	/**项目*/
	@Excel(name = "项目", width = 15, dictTable = "crm_project", dicText = "project_name", dicCode = "id")
	@Dict(dictTable = "crm_project", dicText = "project_name", dicCode = "id")
    @ApiModelProperty(value = "项目")
    private java.lang.String projectId;
	/**币种*/
	@Excel(name = "币种", width = 15, dictTable = "mdm_currency", dicText = "currency_name", dicCode = "currency_no")
	@Dict(dictTable = "mdm_currency", dicText = "currency_name", dicCode = "currency_no")
    @ApiModelProperty(value = "币种")
    private java.lang.String currency;
	/**预付账款*/
	@Excel(name = "预付账款", width = 15)
    @ApiModelProperty(value = "预付账款")
    private java.math.BigDecimal prepayAmount;
	/**应付账款*/
	@Excel(name = "应付账款", width = 15)
    @ApiModelProperty(value = "应付账款")
    private java.math.BigDecimal payAmount;
	/**期初费用*/
	@Excel(name = "期初费用", width = 15)
    @ApiModelProperty(value = "期初费用")
    private java.math.BigDecimal initialExpense;
	/**其他应付*/
	@Excel(name = "其他应付", width = 15)
    @ApiModelProperty(value = "其他应付")
    private java.math.BigDecimal otherAmount;
	/**期初余额*/
	@Excel(name = "期初余额", width = 15)
    @ApiModelProperty(value = "期初余额")
    private java.math.BigDecimal initialBalance;
    /**核销金额*/
    @Excel(name = "核销金额", width = 15)
    @ApiModelProperty(value = "核销金额")
    private java.math.BigDecimal verifyAmount;
	/**状态*/
	@Excel(name = "状态", width = 15, dicCode = "fi_arap_initial_status")
	@Dict(dicCode = "fi_arap_initial_status")
    @ApiModelProperty(value = "状态")
    private java.lang.String status;
	/**结算状态*/
	@Excel(name = "结算状态", width = 15, dicCode = "fi_settle_status")
	@Dict(dicCode = "fi_settle_status")
    @ApiModelProperty(value = "结算状态")
    private java.lang.String settleStatus;
	/**预付款日期*/
	@Excel(name = "预付款日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "预付款日期")
    private java.util.Date prepayDate;
    /**单据日期*/
    @Excel(name = "单据日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "单据日期")
    private java.util.Date originalDate;
	/**联系人*/
	@Excel(name = "联系人", width = 15)
    @ApiModelProperty(value = "联系人")
    private java.lang.String linkman;
	/**联系电话*/
	@Excel(name = "联系电话", width = 15)
    @ApiModelProperty(value = "联系电话")
    private java.lang.String phone;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**租户ID*/
	@Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private java.lang.String tenantId;
}
